var wsUri = "ws://" + document.location.host + document.location.pathname + "wsjuego";
var websocket = new WebSocket(wsUri);


websocket.onerror = function(evt) { onError(evt) };

websocket.onmessage = function(evt) { onMessage(evt) };




var queJugador = ""; //En esta variable guardamos que jugador es el cliente.  

/* Punto de entrada a la comunicación que realiza el servidor. */
function onMessage(evt)
{
    console.log("LLEGO JSON: " + evt.data);
    //Creo el objeto con json enviado del servidor.
    var jsonRecibido = JSON.parse(evt.data);
    
    
    
     switch ( jsonRecibido.orden )
     {
        case 'dibujarEscenario' :
            
            dibujarEscenario(jsonRecibido);
            iluminarMapa(jsonRecibido);
            //$("#menuMensaje").html("");
            $("#menuItem4").addClass("ui-state-disabled");//Desactivo menu Cargar Partida
             $("#menuItem4").removeClass("ui-state-disabled");//Activo menu Guardar Partida
            $("#esperandoRival").css("display", "none");
            if (jsonRecibido.jugador == "jugador1")
            {   queJugador = "jugador1";
                //Es el jugador1. Cargo los eventos del piloto
                
                $( "#canvas" ).click(function(e)
                {
                    PositionClick(e);
                });
		 $("#canvas").bind('contextmenu', function(e)
                {
                    ClickDerecho(e);
                    return false;
                });  
            }
            else if (jsonRecibido.jugador == "jugador2")
            {   queJugador = "jugador2";
                
            }
            $( "#panelDelMenu" ).dialog( "close" );
            break;
        case 'mover' :
             if (jsonRecibido.jugador == "jugador1"){
                 dibujarPiloto(jsonRecibido);
             }
             else if (jsonRecibido.jugador == "jugador2"){
                 dibujarTanque(jsonRecibido);
             }
             else if (jsonRecibido.jugador == "drone"){
                 moverDrone(jsonRecibido);
             }
            break;
        case 'enEsperaJugador1' :   
            enEsperaJugador1();
            break;
        case 'finalizarJuego' :
            terminarPartida(jsonRecibido);
            break;
        case 'disparar' :
            dibujarProyectil(jsonRecibido);
            break;
        case 'eliminar' :
            eliminarActor(jsonRecibido);
            break;
        case 'dibujarArboles' :
            dibujarArboles(jsonRecibido);
            break;
        case 'romper' :
            romperArbol(jsonRecibido);
            break;
        case 'guardar' :
            guardarPartida();
            break;
        case 'cargar' :
            dibujarEscenario(jsonRecibido);
            break;
        case 'avion' :
            moverAvion(jsonRecibido);
            break;
		case 'visibilidadAvion' :
            manejarVisibilidadTanquesEnAvion(jsonRecibido)
            break;
        case 'avionLateral' :
            moverAvionLateral(jsonRecibido);
            break;
        case 'iluminarAvion' :
            iluminarAvion(jsonRecibido);
			break;
		case 'vistaLateral' :
            dibujarVistaLateral(jsonRecibido);
            break;
        case 'moverTanqueLateral' :
            dibujarTanqueLateral(jsonRecibido.queTanque, jsonRecibido.tanqueX,
            jsonRecibido.orientacionT);
            break;
        case 'terminarLateral' :
            terminarVistaLateral();
            break;
        case 'lanzarBomba' :
            lanzarBomba(jsonRecibido);
            break;
        case 'iluminarPiloto' :
            iluminarPiloto(jsonRecibido);
            break;
        case 'iluminarTanques' :
            iluminarTanques(jsonRecibido);
            break;
        case 'iluminarMapa' :
            iluminarMapa(jsonRecibido);
            break;
        case 'vistaMatriz' :
            vistaRayosX(jsonRecibido);
            break;
        case 'destruirTanque':
            dibujarTanqueRoto(jsonRecibido);
            break;
        case 'habilitoUnirse' :
            $("#menuItem5").removeClass("ui-state-disabled");
            break;
        case 'habilitoAbandonar' :
            $("#menuItem6").removeClass("ui-state-disabled");
            break;
        case 'guardarSombra' :
            guardarCanvasSombra(jsonRecibido);
            break;     
        case 'restaurarSombra' :
            restaurarCanvasSombra(jsonRecibido);
            break;
        case 'pausar':
             accionDelMenu();
             break;
         case 'temporizador':
             escribirTemporizador(jsonRecibido);
         break;
     case 'partidaGuardada':
         partidaGuardada(jsonRecibido);
         break;
     case 'cargarJugadorElijoRol':
         elegirRolDePartidaCargada();
         break;
     case 'avisarPartidaNoExiste':
         avisoPartidaNoExiste();
         break;
     case 'noIngresoUnNumero':
         avisoNoIngresoUnNumero();
         break;
    }
}
    
    function sendText(json) {
    console.log("sending text: " + json);
    
    websocket.send(json);
}

function onError(evt) {
    writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data);
}


